Telegram Group »
Russian Federation »
Библиотека пхпшника | PHP Laravel Symfony CodeIgniter » Telegram Webview
Собрали топовые материалы, которые наши подписчики сохраняют чаще всего.
Эту подборку мы будем регулярно пополнять, поэтому сохраняйте тонну пользы, чтобы не потерять!
1. Cтатистика по использованию языков программирования
2. Сто лет собеседований: почему наём в IT переусложнён
3. Видео, от которого сложно оторваться: эволюция языков программирования с 1958 по 2025
4. Бесплатная онлайн-платформа для практики написания SQL-запросов
5. Паттерны для работы с реальным временем в приложениях
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
📌 Фича дня:
Иногда нужно привязать данные к объекту, но не мешать сборщику мусора его удалять.
Обычные массивы — не вариант. Но есть
💡 Что это даёт?
– Кэш на уровне объектов
– Без утечек памяти
– Удобно для библиотек и DI-контейнеров
📍 Где применимо:
– Lazy-loading
– Трассировка состояния
– Симпатичная альтернатива
🧪 Работает с PHP 8.0+
Библиотека пхпшника #буст
WeakMap
в PHPИногда нужно привязать данные к объекту, но не мешать сборщику мусора его удалять.
Обычные массивы — не вариант. Но есть
WeakMap
.💡 Что это даёт?
– Кэш на уровне объектов
– Без утечек памяти
– Удобно для библиотек и DI-контейнеров
📍 Где применимо:
– Lazy-loading
– Трассировка состояния
– Симпатичная альтернатива
SplObjectStorage
🧪 Работает с PHP 8.0+
Библиотека пхпшника #буст
«Как я уронил прод на полтора часа (и при чем тут soft delete и partial index)»
В жизни любого разработчика наступает момент, когда он роняет прод.
Сегодня мы услышим историю от разработчика из популярной edtech-компании о том, как это было у них, и как он оперативно исправлял ошибки, связанные с тонкостями PostgreSQL.
🔗 Хабр
В жизни любого разработчика наступает момент, когда он роняет прод.
Сегодня мы услышим историю от разработчика из популярной edtech-компании о том, как это было у них, и как он оперативно исправлял ошибки, связанные с тонкостями PostgreSQL.
🔗 Хабр
🐘 Холивар: Laravel vs. Symfony
— Фреймворк для людей или фреймворк для тех, кто людей не любит?
❗Вопрос, который назрел очень давно:
Почему в одном проекте Laravel — как глоток свежего воздуха, а в другом — как магический лес, из которого не выйти без dd()?
Почему Symfony называют «тяжёлым», хотя он даёт контроль, структуру и возможность писать так, как надо, а не так, как задумал автор фреймворка?
💎 Laravel — всё просто, красиво, быстро взлетает.
Blade, Eloquent,
Но как только нужно отойти от «по учебнику» — магия превращается в ловушку.
🏗️ Symfony — строго, структурно, гибко.
Никакой лишней магии, максимум прозрачности.
Но порог входа выше, конфигов больше, документация — иногда как учебник по электротехнике.
🤔 А может, вообще пора без фреймворков?
Swoole, Slim, кастомный роутинг, да хоть на чистом PHP — и пусть весь мир подождёт.
🧨 Итог?
Laravel — будто пишешь на PHP, который притворяется JavaScript'ом.
Symfony — будто снова в универе, но за тобой наблюдает тимлид с галочкой.
💬 А ты на чьей стороне? Или уже третий год делаешь всё на Yii и просто смотришь, как другие дерутся?
Библиотека пхпшника #междусобойчик
— Фреймворк для людей или фреймворк для тех, кто людей не любит?
❗Вопрос, который назрел очень давно:
Почему в одном проекте Laravel — как глоток свежего воздуха, а в другом — как магический лес, из которого не выйти без dd()?
Почему Symfony называют «тяжёлым», хотя он даёт контроль, структуру и возможность писать так, как надо, а не так, как задумал автор фреймворка?
💎 Laravel — всё просто, красиво, быстро взлетает.
Blade, Eloquent,
php artisan make:всё
, контейнер — сам всё подставит.Но как только нужно отойти от «по учебнику» — магия превращается в ловушку.
🏗️ Symfony — строго, структурно, гибко.
Никакой лишней магии, максимум прозрачности.
Но порог входа выше, конфигов больше, документация — иногда как учебник по электротехнике.
🤔 А может, вообще пора без фреймворков?
Swoole, Slim, кастомный роутинг, да хоть на чистом PHP — и пусть весь мир подождёт.
🧨 Итог?
Laravel — будто пишешь на PHP, который притворяется JavaScript'ом.
Symfony — будто снова в универе, но за тобой наблюдает тимлид с галочкой.
💬 А ты на чьей стороне? Или уже третий год делаешь всё на Yii и просто смотришь, как другие дерутся?
Библиотека пхпшника #междусобойчик
💻 Подборка новостей по PHP за неделю:
🔹 JetBrains PHPverse 2025: 17 июня состоится бесплатное онлайн-мероприятие, посвящённое 30-летию PHP. В программе — выступления от Taylor Otwell, Nicolas Grekas, Kevin Dunglas и других лидеров сообщества .
🔹 PhpStorm 2025.2 EAP: открыт ранний доступ к следующей версии IDE с поддержкой PHP 8.4, улучшениями для PHPUnit 11 и фреймворка Pest .
🔹 Laravel 12.14: добавлен метод
🔹 Symfony 7.3: внесены улучшения в YAML-компонент, включая принудительное заключение строк в кавычки, компактные вложенные карты и вывод пустых записей
Библиотека пхпшника #свежак
🔹 JetBrains PHPverse 2025: 17 июня состоится бесплатное онлайн-мероприятие, посвящённое 30-летию PHP. В программе — выступления от Taylor Otwell, Nicolas Grekas, Kevin Dunglas и других лидеров сообщества .
🔹 PhpStorm 2025.2 EAP: открыт ранний доступ к следующей версии IDE с поддержкой PHP 8.4, улучшениями для PHPUnit 11 и фреймворка Pest .
🔹 Laravel 12.14: добавлен метод
Arr::from()
для преобразования различных типов в массивы, метод currentlyResolving()
в контейнере и новые методы «except» для контекста .🔹 Symfony 7.3: внесены улучшения в YAML-компонент, включая принудительное заключение строк в кавычки, компактные вложенные карты и вывод пустых записей
Библиотека пхпшника #свежак
Реклама. Киренкина Марина Дмитриевна, ИНН 345702417736. Erid 2VtzquyXuX2
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека задач по PHP | тесты, код, задания
Мы хотим удалить все «(» и «)» из
$string
. Что из этого подойдет?Forwarded from Библиотека задач по PHP | тесты, код, задания
Мы хотим удалить все «(» и «)» из `$string`. Что из этого подойдет?
Anonymous Quiz
15%
a, b, d
32%
a, d
21%
c, d
6%
b, c, d
25%
a, b
1%
b, c
⌨️ Топ-вакансий по PHP за неделю
Backend Developer / Бэкенд-разработчик — от 250 000 ₽, удалёнка (Москва)
Senior PHP, Laravel — от 200 000 до 350 000 ₽, удалёнка (Москва)
Senior PHP Developer — 250 000 — 500 000 ₽, удалёнка (Москва)
Junior Backend-разработчик PHP (MODX) — от 50 000 до 300 000 ₽, Гибрид (Нижний Новгород)
➡️ Еще больше топовых вакансий — в нашем канале PHP Jobs
Backend Developer / Бэкенд-разработчик — от 250 000 ₽, удалёнка (Москва)
Senior PHP, Laravel — от 200 000 до 350 000 ₽, удалёнка (Москва)
Senior PHP Developer — 250 000 — 500 000 ₽, удалёнка (Москва)
Junior Backend-разработчик PHP (MODX) — от 50 000 до 300 000 ₽, Гибрид (Нижний Новгород)
➡️ Еще больше топовых вакансий — в нашем канале PHP Jobs
Проблема: сбор и анализ логов — важная часть мониторинга системы. Без автоматизации этот процесс может быть трудоемким и подверженным ошибкам. Проблемой является необходимость агрегации и индексирования больших объемов логов с различных источников.
Решение: в книге Elasticsearch in Action (Second Edition) автор объясняет, как настроить интеграцию Elasticsearch с Logstash для автоматического сбора и обработки логов.
Пример конфигурации Logstash для отправки логов в Elasticsearch:
input {
file {
path => "/var/log/syslog"
start_position => "beginning"
}
}
filter {
grok {
match => { "message" => "%{SYSLOGTIMESTAMP:timestamp} %{WORD:loglevel} %{GREEDYDATA:message}" }
}
}
output {
elasticsearch {
hosts => ["http://localhost:9200"]
index => "syslog-%{+YYYY.MM.dd}"
}
}
Преимущества:
— Автоматизация сбора логов и их индексация.
— Упрощает мониторинг и анализ больших объемов данных.
— Позволяет быстро искать и фильтровать логи с помощью Elasticsearch.
Еще больше полезных книг — в нашем канале @progbook
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯 Почему на собеседованиях в топовые компании проваливаются даже опытные разработчики
Проблема большинства программистов: вы отлично пишете код, знаете фреймворки и можете разобраться в любом проекте. Но когда интервьюер просит найти кратчайший путь в графе или отсортировать массив за O(n log n) — ступор.
Чтобы не теряться на базовых вопросах, приходите на курс «Алгоритмы и структуры данных».
Тем более, что мы дарим на него промокод PROGLIBAI на 10 000 ₽ в честь запуска другого курса — «AI-агенты для DS-специалистов».
🧐 Что будет на курсе по алгоритмам:
— Изучение производительности алгоритмов и O-нотации
— Числовые алгоритмы: от алгоритма Эвклида до решета Эратосфена
— Работа с массивами: от линейного поиска до оптимизации операций вставки/удаления
— Бинарный поиск и его применение в реальных задачах
— Практические задачи на каждую тему + обратная связь от преподавателей
После курса вы перестанете бояться алгоритмических секций на собеседованиях и сможете претендовать на позиции в топовых компаниях.
👉 Успейте использовать промокод до 1 июня: https://clc.to/590e_g
Проблема большинства программистов: вы отлично пишете код, знаете фреймворки и можете разобраться в любом проекте. Но когда интервьюер просит найти кратчайший путь в графе или отсортировать массив за O(n log n) — ступор.
Чтобы не теряться на базовых вопросах, приходите на курс «Алгоритмы и структуры данных».
Тем более, что мы дарим на него промокод PROGLIBAI на 10 000 ₽ в честь запуска другого курса — «AI-агенты для DS-специалистов».
🧐 Что будет на курсе по алгоритмам:
— Изучение производительности алгоритмов и O-нотации
— Числовые алгоритмы: от алгоритма Эвклида до решета Эратосфена
— Работа с массивами: от линейного поиска до оптимизации операций вставки/удаления
— Бинарный поиск и его применение в реальных задачах
— Практические задачи на каждую тему + обратная связь от преподавателей
После курса вы перестанете бояться алгоритмических секций на собеседованиях и сможете претендовать на позиции в топовых компаниях.
👉 Успейте использовать промокод до 1 июня: https://clc.to/590e_g
Вы всерьёз думаете, что знаете Symfony?
А как насчёт:
— локализации динамического контента из БД,
— грамотной работы с DI и кастомными сервисами,
— архитектуры, которую не стыдно показать CTO,
— поддержки проекта не 3 месяца, а 3 года?
Если хотя бы на один пункт у вас «вроде да, но...», — значит, вам точно на курс OTUS по Symfony.
Что нужно, чтобы попасть на курс? Пройти жёсткий отборочный тест. Бесплатно. 30 минут. 20 вопросов. Без «угадаек».
Справитесь — получите скидку на обучение и допуск к потоку, где:
— учат не просто писать, а проектировать,
— код ревьюят разработчики из топовых компаний,
— вместо «курса» — практическая подготовка к реальным задачам.
Старт — 30 мая
→ Пройти тест
Symfony — не фреймворк для джуниоров. И этот курс — тоже.
Реклама. ООО «Отус онлайн‑образование», ОГРН 1177746618576
А как насчёт:
— локализации динамического контента из БД,
— грамотной работы с DI и кастомными сервисами,
— архитектуры, которую не стыдно показать CTO,
— поддержки проекта не 3 месяца, а 3 года?
Если хотя бы на один пункт у вас «вроде да, но...», — значит, вам точно на курс OTUS по Symfony.
Что нужно, чтобы попасть на курс? Пройти жёсткий отборочный тест. Бесплатно. 30 минут. 20 вопросов. Без «угадаек».
Справитесь — получите скидку на обучение и допуск к потоку, где:
— учат не просто писать, а проектировать,
— код ревьюят разработчики из топовых компаний,
— вместо «курса» — практическая подготовка к реальным задачам.
Старт — 30 мая
→ Пройти тест
Symfony — не фреймворк для джуниоров. И этот курс — тоже.
Реклама. ООО «Отус онлайн‑образование», ОГРН 1177746618576
Repository Pattern в PHP
Сегодня мы узнаем про шаблон проектирования «Репозиторий» («Repository Pattern»), его особенности и сферы применения, а также сравнение его с другими подходами к доступу к данным, такими как ORM (Object-Relational Mapping).
Шаблон «Репозиторий» представляет собой абстракцию источника данных, который ведет себя как коллекция, содержащая объекты доменной модели. Эта абстракция представлена интерфейсом Repository и обычно содержит методы для получения, сохранения и удаления объектов.
Репозиторий считается единственным источником правды для извлечения и сохранения объектов доменной модели.
❌ Чем Репозиторий НЕ является?
🏭 Не является фабрикой, так как не создает объекты, а только содержит их.
🗄️ Не ORM, не зависит от способа получения объектов (через базу данных, файлы и т. д.).
🖋️ Различия между Репозиториями для Чтения и Записи:
✍️ Репозитории для записи используются для сохранения, обновления и удаления объектов.
📖 Репозитории для чтения предоставляют контекстно-специфичные модели объектов для целей чтения.
Другие аспекты включают в себя соглашения по именованию методов (например, get vs. find), использование ViewModel для представления объектов в различных контекстах, а также возможность замены технической реализации репозитория, например, для доступа к данным через внешние сервисы.
🤔 Когда НЕ использовать Репозиторий?
🚫 Для небольших CRUD-приложений.
🚫 Для создания больших отчетов.
Репозиторий представляет собой полезный инструмент для управления доступом к данным в приложениях, особенно в больших и сложных системах, где требуется абстрагирование слоя доступа к данным от остальных компонентов приложения.
👉 Читать полностью
Сегодня мы узнаем про шаблон проектирования «Репозиторий» («Repository Pattern»), его особенности и сферы применения, а также сравнение его с другими подходами к доступу к данным, такими как ORM (Object-Relational Mapping).
Шаблон «Репозиторий» представляет собой абстракцию источника данных, который ведет себя как коллекция, содержащая объекты доменной модели. Эта абстракция представлена интерфейсом Repository и обычно содержит методы для получения, сохранения и удаления объектов.
Репозиторий считается единственным источником правды для извлечения и сохранения объектов доменной модели.
❌ Чем Репозиторий НЕ является?
🏭 Не является фабрикой, так как не создает объекты, а только содержит их.
🗄️ Не ORM, не зависит от способа получения объектов (через базу данных, файлы и т. д.).
🖋️ Различия между Репозиториями для Чтения и Записи:
✍️ Репозитории для записи используются для сохранения, обновления и удаления объектов.
📖 Репозитории для чтения предоставляют контекстно-специфичные модели объектов для целей чтения.
Другие аспекты включают в себя соглашения по именованию методов (например, get vs. find), использование ViewModel для представления объектов в различных контекстах, а также возможность замены технической реализации репозитория, например, для доступа к данным через внешние сервисы.
🤔 Когда НЕ использовать Репозиторий?
🚫 Для небольших CRUD-приложений.
🚫 Для создания больших отчетов.
Репозиторий представляет собой полезный инструмент для управления доступом к данным в приложениях, особенно в больших и сложных системах, где требуется абстрагирование слоя доступа к данным от остальных компонентов приложения.
👉 Читать полностью
static-php-cli — сборка в бинарный файл
Инструмент для сборки PHP-приложений в один бинарный файл без дополнительных зависимостей.
Он имеет множество фич:
👜 Сборка однофайлового исполняемого файла php, без каких-либо зависимостей
🍔 Сборка самораспаковывающегося исполняемого файла phpmicro (склеивание бинарного и исходного кода php в один файл)
💊 Автоматическая проверка окружения сборки (модуль Doctor)
⚡ Поддержка Linux, macOS, FreeBSD, Windows
🔧 Настраиваемые исправления исходного кода
📚 Управление зависимостями сборки
📦 Предоставление собственного автономного исполняемого файла spc (собранного spc и box)
🔥 Поддержка многих популярных расширений
💾 Интеграция UPX (значительно уменьшает размер бинарных файлов)
🔗 Github
Библиотека пхпшника #инструменты
Инструмент для сборки PHP-приложений в один бинарный файл без дополнительных зависимостей.
Он имеет множество фич:
👜 Сборка однофайлового исполняемого файла php, без каких-либо зависимостей
🍔 Сборка самораспаковывающегося исполняемого файла phpmicro (склеивание бинарного и исходного кода php в один файл)
💊 Автоматическая проверка окружения сборки (модуль Doctor)
⚡ Поддержка Linux, macOS, FreeBSD, Windows
🔧 Настраиваемые исправления исходного кода
📚 Управление зависимостями сборки
📦 Предоставление собственного автономного исполняемого файла spc (собранного spc и box)
🔥 Поддержка многих популярных расширений
💾 Интеграция UPX (значительно уменьшает размер бинарных файлов)
🔗 Github
Библиотека пхпшника #инструменты
😱 Вся правда об увольнениях в IT в 2025-м
Пока все молчат о том, что происходит на рынке, мы решили выяснить реальную картину. Без прикрас и корпоративного пиара.
Но для этого нам нужна ваша помощь! Мы собираем данные от разработчиков, тестировщиков, менеджеров и всех, кто работает в ИТ, чтобы создать честное исследование о:
— реальных причинах массовых увольнений
— судьбе тех, кто остался за бортом IT-рынка
— том, сколько времени сейчас нужно на поиск работы
Почему это важно? Потому что сила в правде. Зная реальную ситуацию, вы сможете лучше понимать тренды рынка и планировать карьеру.
⚡️Пройдите опрос и помогите всему сообществу: https://clc.to/yJ5krg
Пока все молчат о том, что происходит на рынке, мы решили выяснить реальную картину. Без прикрас и корпоративного пиара.
Но для этого нам нужна ваша помощь! Мы собираем данные от разработчиков, тестировщиков, менеджеров и всех, кто работает в ИТ, чтобы создать честное исследование о:
— реальных причинах массовых увольнений
— судьбе тех, кто остался за бортом IT-рынка
— том, сколько времени сейчас нужно на поиск работы
Почему это важно? Потому что сила в правде. Зная реальную ситуацию, вы сможете лучше понимать тренды рынка и планировать карьеру.
⚡️Пройдите опрос и помогите всему сообществу: https://clc.to/yJ5krg